package com.iceengine.j3d.camera;

/**
 *
 * @author penguin
 */
import org.lwjgl.util.vector.Vector3f;
public interface ICamera {
    /**
     * Move yourself forward.
     * @param ammount How much to move.
     */
    public void moveForward(float ammount);
    /**
     * Move yourself backward.
     * @param ammount How much to move.
     */
    public void moveBackward(float ammount);
    /**
     * Move yourself left.
     * @param ammount How much to move.
     */
    public void moveLeft(float ammount);
    /**
     * Move yourself right.
     * @param ammount How much to move.
     */
    public void moveRight(float ammount);
    /**
     * Look up
     * @param ammount How much to look.
     */
    public void LookUp(float ammount);
    /**
     * Look down
     * @param ammount How much to look.
     */
    public void LookDown(float ammount);
    /**
     * Look left
     * @param ammount How much to look.
     */
    public void LookLeft(float ammount);
    /**
     * Look right
     * @param ammount How much to look.
     */
    public void LookRight(float ammount);
    /**
     * Get the current translation that get calculated out of the cameras position.
     * @return Current translation.
     */
    public Vector3f getTranslation();
    /**
     * Get the current rotation that get calculated out of the camera's looking-to point.
     * @return Current rotation.
     */
    public Vector3f getRotation();
}
